package com.zmn.plat.model.entity.push;

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.LinkedList;

/**
 * @author tanghongjun
 * @version v1.0
 * @类说明：消息发送入参
 * @since 2019年10月29日11:28:20
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ZmnSms implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 模板组ID
     */
    private Integer groupId;

    /**
     * 城市ID
     */
    private Integer cityId;

    /**
     * 渠道ID
     */
    private Integer channelId;

    /**
     * mobile 发送手机短信时必填
     */
    private String mobile;

    /**
     * openId 发送微信，百度消息时必填
     */
    private String openId;

    /**
     * 模板跳转链接（海外帐号没有跳转能力） 发送微信
     */
    private String url;

    /**
     * 所需跳转到的小程序appid（该小程序appid必须与发模板消息的公众号是绑定关联关系，暂不支持小游戏）发送微信小程序必填
     *
     * @updater wangjie 2020-06-19 为了支持多公众号，appid 命名不准确固废弃使用，该参数对应 appletsAppId
     * @see ZmnSms#appletsAppId
     */
    @Deprecated
    private String appId;

    /**
     * 描述：所需跳转到的小程序appid（该小程序appid必须与发模板消息的公众号是绑定关联关系，暂不支持小游戏）发送微信小程序必填
     *
     * @author wangjie
     * @since 2020/6/19 11:21
     **/
    private String appletsAppId;

    /**
     * 描述：微信公众号id
     *
     * @author wangjie
     * @since 2020/6/19 11:21
     **/
    private String weChatAppId;

    /**
     * 所需跳转到小程序的具体页面路径，支持带参数,（示例index?foo=bar），要求该小程序已发布，暂不支持小游戏 非必填
     */
    private String pagePath;

    /**
     * 手机号码和变量参数，多组参数使用英文分号;区分，必填 eg:"15800000000,张先生,1234;13800000000,李小姐,4321"
     */
    private String params;

    /**
     * 微信参数
     */
    private String weChartParams;

    /**
     * 模板内容 阿里
     */
    private JSONObject jsonObject;

    /**
     * 微信token
     */
    private String token;

    /**
     * 描述: 百度token，如果不传则push 直接获取
     *
     * @author wangjie
     * date 2020/7/9 17:18
     **/
    private String baiduToken;

    /**
     * 描述: 场景类型 表单id；百度收银台订单id；直连订单id
     *
     * @author wangjie
     * date 2020/7/9 15:43
     **/
    private String sceneId;
    /**
     * 描述: 接受人 百度生成的与设备相关的唯一标识，APP 卸载重安装不会变，
     *
     * @author wangjie
     * date 2020/7/9 16:56
     **/
    private String toUserId;

    /**
     * 描述: 接受人 接收者 open_id 百度用户登录唯一标识，
     *
     * @author wangjie
     * date 2020/7/9 16:57
     **/
    private String toUserOpenId;

    /**
     * 描述: 发送参数 发送百度小程序必传
     *
     * @author wangjie
     * date 2020/7/9 16:48
     **/
    private LinkedList<String> baiduAppPrams;

    /**
     * 描述: 小程序跳转连接 非必传
     *
     * @author wangjie
     * date 2020/7/9 16:56
     **/
    private String baiduPage;
}